#ifndef MAZEMODEL_H
#define MAZEMODEL_H

#include "imazemodel.h"

class MazeModel : public IMazeModel
{
public:
    MazeModel(int width, int height);
    virtual ~MazeModel();

    virtual int width() const override;
    virtual int height() const override;
    virtual const QVector<QPoint>& blocks() const override;
    virtual const QVector<QPoint>& path() const override;

    virtual bool findPath(QPoint start, QPoint stop) override;

private:
    QVector<QPoint> m_blocks;
    QVector<QPoint> m_path;
    const int       m_width;
    const int       m_height;
};

#endif // MAZEMODEL_H
